/**
 * axios实例
 **/
import axios from 'axios'
import router from '@/router'
import { jsonConfig, formConfig } from './config.js'

axios.defaults.withCredentials = true
// 创建实例
const ajaxInstance = axios.create(jsonConfig)

/* 请求拦截器 */
// 请求之前的操作
ajaxInstance.interceptors.request.use(
    config => {
        return config
    },
    /*错误操作*/
    err => {
        return Promise.reject(err)
    }
)

// 请求之后的操作
ajaxInstance.interceptors.response.use(
    res => {
        return res
    },
    err => {
        console.error('interceptors >> ', err)
        if (
            err &&
            err.response &&
            err.response.data &&
            err.response.data.message &&
            err.response.data.message.indexOf('401：') >= 0
        ) {
            // 401 错误
            router.replace({ path: '/' })
        }
        return Promise.reject(err)
    }
)

export const ajax = ajaxInstance

const ajaxFormInstance = axios.create(formConfig)

/* 请求拦截器 */
// 请求之前的操作
ajaxFormInstance.interceptors.request.use(
    config => {
        return config
    },
    /*错误操作*/
    err => {
        return Promise.reject(err)
    }
)

// 请求之后的操作
ajaxFormInstance.interceptors.response.use(
    config => {
        return config
    },
    err => {
        return Promise.reject(err)
    }
)
export const ajaxForm = ajaxFormInstance
